#ifndef TC_ITEMS_H
#define TC_ITEMS_H

#ifdef JMBC_INSIDE

typedef struct
{
	int magic;
	unsigned int vertices;
} TCItemsHeader;
typedef struct
{
	float coord[3];
} TCItemsVertex;

#define TC_ITEMS_GROUP_VERTICES 0

typedef struct
{
	unsigned int groups[1];
} TCItems;

#endif


// Context

void
tcItemsCreateContext(void);

// Generation / Deletion

void
tcGenItemses(unsigned int n, unsigned int *itemses);

void
tcDeleteItemses(unsigned int n, unsigned int *itemses);

// Load / Unload

void
tcItemsLoad(unsigned int id, unsigned int filepath);

void
tcItemsUnload(unsigned int id);

void
tcItemssUnload(unsigned int n, unsigned int *itemses);

// Operation

void
tcItemsCompile(unsigned int id, unsigned int filepath);

void
tcItemsDecompile(unsigned int id, unsigned int filepath);

unsigned int
tcItemsVertices(unsigned int id);

float *
tcItemsVertex(unsigned int id, unsigned int vertex);

// Disk I/O

void
tcItemsSave(unsigned int id, unsigned int filepath);

#endif
